using System;
using System.Collections.Generic;

namespace CloudStorage.API.Entities
{
  /// <summary>
  /// Cloud Storage Table Storage contract
  /// </summary>
  public interface ITableStorageAccount : ICloudStorageAccount
  {
    /// <summary>
    /// Creates a new table in the service
    /// </summary>
    /// <param name="type">Type to create table from</param>
    /// <param name="tableName">The name of the table to be created</param>
    void CreateTable(Type type, string tableName);

    /// <summary>
    /// The Query Tables operation returns a list of tables under the specified account.
    /// </summary>
    ///<returns>All the table names found by the query</returns>
    IEnumerable<string> QueryTable();
  }
}